Multi-unit data processing systems usually include connections between diverse programmed units that "loosely couple" the units together. Such loose coupling is exemplified by a plurality of host processors sharing access to a peripheral subsystem via data channels (channel to channel adapters in each of the host processors and peripheral subsystems and the like) for passing data and control information. Such "loose coupling" is contrasted with the plurality of host processors sharing access to a common main memory and are controlled by a same control program. The present invention is most advantageously employed with loosely coupled systems. Such loosely coupled systems each may operated at a different data rate, execute programs at different rates, keep separate diverse logs and the like. As set forth below, several problems can arise relating to such loosely coupled systems that are solved by the present invention.
Several problems are solved by this invention in such multi-unit data processing systems and installations. A first advantageous employment of this invention relates to problem determination (solving and recovering from error conditions) in identification of reasons for peripheral subsystem and data processing system failures. In such problem determination, it is critical that data processing events, either in the peripheral subsystem, data or host processor or both, preceding a data processing failure event be quickly and easily identified. Such identification has been difficult because there is no time correlation of error logs kept in a subsystem and error logs kept in a host processor relating to such data processing events. Therefore, it is desired to easily and inexpensively provide for adequate time correlation between the error logs in diverse programmed units, such as peripheral subsystems and host processors in a multi-host data processing system or installation.
Another problem solved by practicing this invention is an efficient way of preserving data integrity in a multi-processor environment or multi-installation environment. Data integrity means that the status of the data is known. Data integrity is not to be confused with error detection and correction systems that maintain data error free. Rather, the update status, data and time of data updates, is a data record current and accurate, and the like. This problem can create difficulties in reconstructing data after a system failure for example or when data files are shared, either within one installation or between plural data processing installations. Each host processor user accessing a data files should have means for assuring such user of the status of data integrity. To this end, time correlation of the data with events or other data can be critical. Therefore, it is desired to provide time indication of data for preserving data integrity.
Other data processing events in a data processing system or installation may need time correlation. It is therefore desired to extend time indications, such as time stamps, from host processors to include peripheral subsystems such that all programmed units of the data processing system or installation participate in maintaining information showing time correlation of data processing events. While a clock line could be added to tie in all units, such expense and complication is made unnecessary by practicing the present invention.